/*
 * Clase que modela las estadisticas de los desarrolladores,
 * estas son de ventas por juego y de ganancias totales...
 */
package Persistencia;

import Datatypes.DataEstadistica;
import java.util.ArrayList;

/**
 *
 * @author chonabook
 */
public class Estadistica {
    
    //Atributos privados
    private String nick = null;
    private ArrayList<String> op;
    private ArrayList<String> datosX;
    private ArrayList<Double> datosY;
    
    //Constructor
    public Estadistica(String n){
    
        this.nick = n;
        this.datosX = new ArrayList();
        this.datosY = new ArrayList();
        this.op = new ArrayList();
        
    }
    
    public Estadistica(){}
    
    public Estadistica(DataEstadistica de){
    
        this.nick = de.getNickDesarrollador();
        
        for(int i = 0; i <= de.getDatosX().size() - 1; i++){
        
            String s = de.getDatosX().get(i);
            Double d = de.getDatosY().get(i);
            this.datosX.add(s);
            this.datosY.add(d);
        
        }
        
        for(String s: de.getOp()){
        
            this.op.add(s);
        
        }
        
    
    }
    
    //Selectoras
    public DataEstadistica getData(){
    
        DataEstadistica de = new DataEstadistica(this.nick);
        
        for(int i = 0; i <= this.datosX.size() - 1; i++){
        
            String s = this.datosX.get(i);
            Double d = this.datosY.get(i);
            de.getDatosX().add(s);
            de.getDatosY().add(d);
        
        }
        
        for(String s: this.op){
        
            de.getOp().add(s);
        
        }
        
        return de;
    
    }
             
    public String getNickDesarrollador(){ return this.nick; }
    public ArrayList<String> getOp(){ return this.op; }
    public ArrayList<String> getDatosX(){ return this.datosX; }
    public ArrayList<Double> getDatosY(){ return this.datosY; }
        
    //Modificadoras           
    public void setNickDesarrollador(String n){ this.nick = n; }
    
    //Predicados
    public boolean esVacioDatosX(){ return this.datosX == null; }
    
    //Funciones Aux
    public Integer getCantidadOp(){ return op.size(); }
    
    
}
